Microsoft DirectX 8.1 (C++)

Tuning Spaces

The two primary objects in the Unified Tuning Model are the tuning space and the tune request. The tuning space object represents the provider or transmission source. It contains information about the signal frequency and modulation type, as well as information that enables applications or other components to identify the tuning space and its network type on the host system.

Windows XP Home Edition and Windows XP Professional and DirectX 8.1 provide four default tuning spaces: Cable, Antenna, ATSC, and Digital Cable. These are persisted in the system registry. Third parties may add their own tuning spaces, along with a custom Guide Store Loader to create tune requests for that tuning space. The loader obtains a tuning space by co-creating the SystemTuningSpaces object and using its ITuningSpaceContainer interface to enumerate through the list of available tuning spaces. Once it obtains a pointer to the ITuningSpace interface on a specified tuning space, the loader uses QueryInterface to obtain the appropriate derived interface, such as IDVBTuningSpace. The loader uses the derived interface to create tune requests as described later in this section.

As should be clear from the preceding paragraph, it is the Guide Store Loader that is responsible for knowing how to create valid tune requests for a given tuning space. The tune request contains all the information needed by a TV device to tune to a specified service on a specified transport stream in a specified network. The application does not need to know any of this information. It only needs to know how to obtain and pass on the tune request that is associated with a TV program selected by the user.